package jmine.tec.services.api.export;

import jmine.tec.utils.register.Receiver;

/**
 * Interface para um repositório de exportadores de entidades.
 * 
 * @author lundberg
 */
public interface EntityExporterRepository extends Receiver<EntityExporter<?>> {

    /**
     * Verifica se existe exportador para a chave
     * 
     * @param key key
     * @return boolean
     */
    boolean hasExporterFor(ExporterKey key);

    /**
     * Busca um exportador apropriado à chave
     * 
     * @param key key
     * @return EntityExporter
     */
    EntityExporter<?> findEntityExporter(ExporterKey key);
}
